using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace SunshineFarmWord
{
    public interface IState
    {
        // 进入状态
        public void Enter();
        // 退出状态
        public void Exit();
        // 处理输入
        public void HandleInput();
        // 处理任何非物理相关逻辑
        public void Update();
        // 处理任何物理相关更新->FixedUpdate
        public void PhysicsUpdate();
        // 动画进入事件
        public void OnAnimationEnterEvent();
        // 动画退出事件
        public void OnAnimationExitEvent();
        // 动画过渡事件
        public void OnAnimationTransitionEvent();
        // 2d 碰撞器进入事件
        public void OnTriggerEnter2D(Collider2D collider);
        // 2d 处理物理碰撞，涉及物理作用力 进入碰撞器
        public void OnCollisionEnter2D(Collision2D collision);
        // 2d 碰撞器退出事件
        public void OnTriggerExit2D(Collider2D collider);
        // 2d 处理物理碰撞，涉及物理作用力 退出碰撞器
        public void OnCollisionExit2D(Collision2D collision);
        // 2d 碰撞中
        public void OnTriggerStay2D(Collider2D collider);
    }
}
